libxl: add useful xc flags in the xl_dominfo structure
authorKeir Fraser <keir.fraser@citrix.com>
Wed, 30 Dec 2009 12:44:37 +0000 (12:44 +0000)
committerKeir Fraser <keir.fraser@citrix.com>
Wed, 30 Dec 2009 12:44:37 +0000 (12:44 +0000)
Signed-off-by: Vincent Hanquez <vincent.hanquez@eu.citrix.com>
tools/libxl/libxl.c
tools/libxl/libxl.h

index 5a8e1556a19098197cbc1de501cf4585486c3296..4af95b2057a823a284fde1f65ce22023a8e6ffad 100644 (file)
@@ -304,6 +304,14 @@ redo:
         }
         memcpy(&(ptr[index].uuid), info[i].handle, sizeof(xen_domain_handle_t));
         ptr[index].domid = info[i].domain;
+
+        if (info[i].flags & XEN_DOMINF_dying)
+            ptr[index].dying = 1;
+        else if (info[i].flags & XEN_DOMINF_paused)
+            ptr[index].paused = 1;
+        else if (info[i].flags & XEN_DOMINF_blocked || info[i].flags & XEN_DOMINF_running)
+            ptr[index].running = 1;
+
         first_domain = info[i].domain + 1;
         index++;
     }
index 2d828296b7928afdeeeb02fa460c6d8b50d04576..3d2843c94bef79bc7bfffbbaa8844a59e885dc22 100644 (file)
@@ -28,6 +28,9 @@ typedef void (*libxl_log_callback)(void *userdata, int loglevel, const char *fil
 struct libxl_dominfo {
     xen_uuid_t uuid;
     uint32_t domid;
+    uint8_t dying:1;
+    uint8_t paused:1;
+    uint8_t running:1;
 };
 
 struct libxl_ctx {